home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 86xx / 8606a.d64 / read vizawrite (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  7KB  |  323 lines

  1. 10 PRINT"[147]    ********************************"
  2. 20 PRINT"    *                              *"
  3. 30 PRINT"    *       READ  VIZAWRITE        *"
  4. 40 PRINT"    *                              *"
  5. 50 PRINT"    *       VON  KLAUS HECK        *"
  6. 60 PRINT"    *                              *"
  7. 70 PRINT"    ********************************"
  8. 80 :
  9. 90 REM ------------------------------
  10. 100 REM  VIZAWRITE-FILE OEFFNEN
  11. 110 PRINT" WELCHES VIZAWRITE-FILE SOLL EINGELESEN    WERDEN"
  12. 120 INPUTNA$
  13. 130 OPEN15,8,15
  14. 140 OPEN1,8,5,NA$+",P,R"
  15. 150 GOSUB3190
  16. 160 PRINT" TEXTAUSGABE AUF BILDSCHIRM : 3"
  17. 170 PRINT" TEXTAUSGABE AUF SEQ-DATEI  : 8"
  18. 180 GETGE$:IFGE$=""THEN180
  19. 190 GE=VAL(GE$)
  20. 200 IFGE=3THENOPEN2,GE
  21. 210 IFGE=8THENOPEN2,GE,2,"@:SEQ "+NA$+",S,W"
  22. 220 GOSUB3190
  23. 230 IFGE<>3ANDGE<>8THEN160
  24. 240 :
  25. 250 REM ------------------------------
  26. 260 REM  UMSCHALTUNG GROSS/KLEIN
  27. 270 PRINT"[147]"
  28. 280 POKE53272,23
  29. 290 :
  30. 300 REM ------------------------------
  31. 310 REM  VORSPANN EINLESEN
  32. 320 :
  33. 330 REM PRUEFEN AUF VIZAWRITE  (0-3)
  34. 340 GET#1,A$:IFA$=""THENA$=CHR$(0)
  35. 350 GOSUB3190
  36. 360 IFASC(A$)<>86THEN3130
  37. 370 GET#1,A$:IFA$=""THENA$=CHR$(0)
  38. 380 IFASC(A$)<>255THEN3130
  39. 390 GET#1,A$:IFA$=""THENA$=CHR$(0)
  40. 400 IFASC(A$)<>86THEN3130
  41. 410 GET#1,A$:IFA$=""THENA$=CHR$(0)
  42. 420 IFASC(A$)<>87THEN3130
  43. 430 :
  44. 440 REM ANZAHL ZEICHEN  (4,5)
  45. 450 GET#1,LB$:IFLB$=""THENLB$=CHR$(0)
  46. 460 GET#1,HB$:IFHB$=""THENHB$=CHR$(0)
  47. 470 ZE=ASC(LB$)+ASC(HB$)*256
  48. 480 PRINT" [193]NZ. [218]EICHEN IM [212]EXT ";ZE
  49. 490 :
  50. 500 REM ANZAHL SEITEN  (6,7)
  51. 510 GET#1,LB$:IFLB$=""THENLB$=CHR$(0)
  52. 520 GET#1,HB$:IFHB$=""THENHB$=CHR$(0)
  53. 530 SE=ASC(LB$)+ASC(HB$)*256
  54. 540 SE=SE-2
  55. 550 PRINT" [193]NZ. [212]EXTSEITEN      ";SE
  56. 560 :
  57. 570 REM DUMMY  (8-14)
  58. 580 FORJ=8TO14
  59. 590 GET#1,A$:IFA$=""THENA$=CHR$(0)
  60. 600 NEXT
  61. 610 :
  62. 620 REM DATEINAMEN  (15-31)
  63. 630 I=14:AA$=""
  64. 640 GET#1,A$:IFA$=""THENA$=CHR$(0)
  65. 650 I=I+1
  66. 660 IFASC(A$)=96THEN690
  67. 670 AA$=AA$+A$
  68. 680 GOTO640
  69. 690 PRINT" [198]ILENAME              ";AA$
  70. 700 I=I+1:IFI>30THEN750
  71. 710 FORJ=ITO31
  72. 720 GET#1,A$:IFA$=""THENA$=CHR$(0)
  73. 730 NEXT
  74. 740 :
  75. 750 REM PRINTER TYPE  (32,33)
  76. 760 GET#1,A$:IFA$=""THENA$=CHR$(0)
  77. 770 GET#1,HB$:IFHB$=""THENHB$=CHR$(0)
  78. 780 IFASC(A$)>0ANDASC(A$)<27THENA$=CHR$(ASC(A$)+64):GOTO800
  79. 790 IFASC(A$)>64ANDASC(A$)<123THENA$=CHR$(ASC(A$)+128)
  80. 800 PRINT" [196]RUCKER [212]YP           ";A$
  81. 810 :
  82. 820 REM DUMMY  (34)
  83. 830 GET#1,A$:IFA$=""THENA$=CHR$(0)
  84. 840 :
  85. 850 REM FORM FEED  (35)
  86. 860 GET#1,A$:IFA$=""THENA$=CHR$(0)
  87. 870 A$=CHR$(ASC(A$)+64)
  88. 880 PRINT" [198]ORMULAR [214]ORSCHUB     ";A$
  89. 890 :
  90. 900 REM AUTO L/FEED  (36)
  91. 910 GET#1,A$:IFA$=""THENA$=CHR$(0)
  92. 920 IFASC(A$)>0ANDASC(A$)<27THENA$=CHR$(ASC(A$)+64):GOTO940
  93. 930 IFASC(A$)>64ANDASC(A$)<123THENA$=CHR$(ASC(A$)+128)
  94. 940 PRINT" [193]UTO. [218]EILENVORSCHUB  ";A$
  95. 950 :
  96. 960 REM FORM LENGTH  (37,38)
  97. 970 GET#1,LB$:IFLB$=""THENLB$=CHR$(0)
  98. 980 GET#1,HB$:IFHB$=""THENHB$=CHR$(0)
  99. 990 D=ASC(LB$)+ASC(HB$)*256
  100. 1000 PRINT" [198]ORMULARLAENGE       ";D
  101. 1010 :
  102. 1020 REM SINGLE  (39)
  103. 1030 GET#1,A$:IFA$=""THENA$=CHR$(0)
  104. 1040 A$=CHR$(ASC(A$)+64)
  105. 1050 PRINT" [197]INZELBLATT           ";A$
  106. 1060 :
  107. 1070 REM OFFSET  (40,41)
  108. 1080 GET#1,LB$:IFLB$=""THENLB$=CHR$(0)
  109. 1090 GET#1,HB$:IFHB$=""THENHB$=CHR$(0)
  110. 1100 D=ASC(LB$)+ASC(HB$)*256
  111. 1110 PRINT" LINKER [196]RUCKRAND AB  ";D
  112. 1120 :
  113. 1130 REM HEADER  (42)
  114. 1140 GET#1,A$:IFA$=""THENA$=CHR$(0)
  115. 1150 A$=CHR$(ASC(A$)+64)
  116. 1160 PRINT" [203]OPFZEILE             ";A$
  117. 1170 :
  118. 1180 REM DUMMY  (43)
  119. 1190 GET#1,A$:IFA$=""THENA$=CHR$(0)
  120. 1200 :
  121. 1210 REM PITCH  (44,45)
  122. 1220 GET#1,LB$:IFLB$=""THENLB$=CHR$(0)
  123. 1230 GET#1,HB$:IFHB$=""THENHB$=CHR$(0)
  124. 1240 D=ASC(LB$)+ASC(HB$)*256
  125. 1250 PRINT" [211]CHRIFTART           ";D
  126. 1260 :
  127. 1270 REM LINES/INCH  (46,47)
  128. 1280 GET#1,LB$:IFLB$=""THENLB$=CHR$(0)
  129. 1290 GET#1,HB$:IFHB$=""THENHB$=CHR$(0)
  130. 1300 D=ASC(LB$)+ASC(HB$)*256
  131. 1310 PRINT" [218]EILEN/INCH          ";D
  132. 1320 :
  133. 1330 REM JUSTIFICATION  (48)
  134. 1340 GET#1,A$:IFA$=""THENA$=CHR$(0)
  135. 1350 A$=CHR$(ASC(A$)+64)
  136. 1360 PRINT" [210]ANDAUSGLEICH         ";A$
  137. 1370 :
  138. 1380 REM GLOBAL/FILL  (49)
  139. 1390 GET#1,GF$:IFGF$=""THENGF$=CHR$(0)
  140. 1400 IFASC(GF$)=32THEN1420
  141. 1410 GF$=CHR$(ASC(GF$)+64)
  142. 1420 PRINT" [212]EXT ANH./EINF.       ";GF$
  143. 1430 :
  144. 1440 REM DATEINAMEN  (50-66)
  145. 1450 I=49:NA$=""
  146. 1460 GET#1,A$:IFA$=""THENA$=CHR$(0)
  147. 1470 I=I+1
  148. 1480 IFASC(A$)=96THEN1530
  149. 1490 IFASC(A$)>0ANDASC(A$)<27THENA$=CHR$(ASC(A$)+64):GOTO1510
  150. 1500 IFASC(A$)>64ANDASC(A$)<123THENA$=CHR$(ASC(A$)+128)
  151. 1510 NA$=NA$+A$
  152. 1520 GOTO1460
  153. 1530 PRINT" NAECHSTES [198]ILE        ";NA$
  154. 1540 I=I+1:IFI>65THEN1580
  155. 1550 FORJ=ITO66
  156. 1560 GET#1,A$:IFA$=""THENA$=CHR$(0)
  157. 1570 NEXT
  158. 1580 :
  159. 1590 REM TEXT COLOUR  (67)
  160. 1600 GET#1,A$:IFA$=""THENA$=CHR$(0)
  161. 1610 D=1:GOSUB2840
  162. 1620 PRINT" [198]ARBE [212]EXT            ";COL$
  163. 1630 :
  164. 1640 REM BORDER COLOUR  (68)
  165. 1650 GET#1,A$:IFA$=""THENA$=CHR$(0)
  166. 1660 D=2:GOSUB2840
  167. 1670 PRINT" [198]ARBE [210]AHMEN          ";COL$
  168. 1680 :
  169. 1690 REM BACKGROUND COLOUR  (69)
  170. 1700 GET#1,A$:IFA$=""THENA$=CHR$(0)
  171. 1710 D=3:GOSUB2840
  172. 1720 PRINT" [198]ARBE [200]INTERGRUND     ";COL$
  173. 1730 :
  174. 1740 REM DUMMY  (70-199)
  175. 1750 FORJ=70TO199
  176. 1760 GET#1,A$:IFA$=""THENA$=CHR$(0)
  177. 1770 NEXT
  178. 1780 :
  179. 1790 PRINT" WEITER ? >J< "
  180. 1800 GETJN$:IFJN$=""THEN1800
  181. 1810 IFJN$<>"J"THEN2410
  182. 1820 PRINT"[147]"
  183. 1830 :
  184. 1840 REM ------------------------------
  185. 1850 REM  ALLE SEITEN UEBERNEHMEN ?
  186. 1860 IP=-1:REM SEITENZAEHLER
  187. 1870 PRINT"[211]OLL [215][207][210][203] [208][193][199][197][160]MIT UEBERTRAGEN WERDEN?     >J/N<"
  188. 1880 GETJN$:IFJN$=""THEN1880
  189. 1890 IFJN$="N"THENWP=0
  190. 1900 IFJN$="J"THENWP=1
  191. 1910 IFJN$<>"J"ANDJN$<>"N"THEN1870
  192. 1920 PRINT"[211]OLL [200][197][193][196][197][210][160][208][193][199][197] MIT UEBERTRAGEN WERDEN?   >J/N<"
  193. 1930 GETJN$:IFJN$=""THEN1930
  194. 1940 IFJN$="N"THENHP=0
  195. 1950 IFJN$="J"THENHP=1
  196. 1960 IFJN$<>"J"ANDJN$<>"N"THEN1920
  197. 1970 PRINT"[211]OLL [198][207][207][212][197][210][160][208][193][199][197] MIT UEBERTRAGEN WERDEN?   >J/N<"
  198. 1980 GETJN$:IFJN$=""THEN1980
  199. 1990 IFJN$="N"THENFP=0
  200. 2000 IFJN$="J"THENFP=1
  201. 2010 IFJN$<>"J"ANDJN$<>"N"THEN1970
  202. 2020 PRINT"[147]"
  203. 2030 :
  204. 2040 REM ------------------------------
  205. 2050 REM  TEXT EINLESEN
  206. 2060 IFGE=8THENPRINT"      [194]ITTE WARTEN ICH ARBEITE"
  207. 2070 FL=0:REM SPALTENZAEHLER FORMATZEILE
  208. 2080 I=0:REM SPALTENZAEHLER TEXTZEILE
  209. 2090 AA$="":REM TEXTZEILE
  210. 2100 GET#1,A$:IFA$=""THENA$=CHR$(0)
  211. 2110 :
  212. 2120 REM ------------------------------
  213. 2130 REM  BILDSCHIRM-CODE -> ASCII-CODE
  214. 2140 IFASC(A$)=220THENAA$=AA$+A$:GOTO2270:REM RETURN
  215. 2150 IFASC(A$)=230THEN2730:REM FORMAT LINE
  216. 2160 IFASC(A$)=241THEN2490:REM END PAGE
  217. 2170 IFASC(A$)=255THEN2310:REM END TEXT
  218. 2180 IFASC(A$)>=0ANDASC(A$)<32THENA$=CHR$(ASC(A$)+64):GOTO2210
  219. 2190 IFASC(A$)>=64ANDASC(A$)<128THENA$=CHR$(ASC(A$)+128):GOTO2210
  220. 2200 :
  221. 2210 AA$=AA$+A$:I=I+1:REM ZEILE ZUSAMMENSTELLEN
  222. 2220 IFI=FLTHEN2600:REM ZEILE OHNE RETURN ABBRECHEN
  223. 2230 GOTO2100
  224. 2240 :
  225. 2250 REM ------------------------------
  226. 2260 REM TEXTZEILE AUSGEBEN
  227. 2270 IFWP=1THENPRINT#2,AA$
  228. 2280 GOTO2080
  229. 2290 :
  230. 2300 REM ------------------------------
  231. 2310 REM PROGRAMMENDE
  232. 2320 IFGF$<>"G"THEN2410:REM CHECK GLOBAL
  233. 2330 PRINT"[147] SOLL [198]ILE : "NA$:PRINT"  ANGEHAENGT WERDEN?  >J/N<"
  234. 2340 GETJN$:IFJN$=""THEN2340
  235. 2350 IFJN$<>"J"THEN2410
  236. 2360 CLOSE1
  237. 2370 OPEN1,8,5,NA$+",P,R"
  238. 2380 GOSUB3190
  239. 2390 PRINT"[147]"
  240. 2400 GOTO310
  241. 2410 POKE53272,21:REM GROSS/GRAFIK
  242. 2420 CLOSE2
  243. 2430 CLOSE1
  244. 2440 CLOSE15
  245. 2450 END
  246. 2460 :
  247. 2470 REM ------------------------------
  248. 2480 REM  SEITENUEBERNAHME SCHALTEN
  249. 2490 IFWP=1ANDI<>0THENPRINT#2,AA$
  250. 2500 AA$=A$
  251. 2510 IFIP=-1ANDWP=0THENAA$=""
  252. 2520 IP=IP+1
  253. 2530 WP=1:REM WIRD ALS SCHALTER BENUTZT
  254. 2540 IFIP=SEANDHP=0THENWP=0
  255. 2550 IFIP=SE+1ANDFP=0THENWP=0
  256. 2560 GOTO2270
  257. 2570 :
  258. 2580 REM ------------------------------
  259. 2590 REM  ZEILENENDE BESTIMMEN
  260. 2600 FI=FL
  261. 2610 IFMID$(AA$,FI,1)=" "ORMID$(AA$,FI,1)="-"THEN2660
  262. 2620 FI=FI-1
  263. 2630 IFFI=1THEN2650
  264. 2640 GOTO2610
  265. 2650 FI=FL
  266. 2660 PRINT#2,LEFT$(AA$,FI)
  267. 2670 I=FL-FI
  268. 2680 AA$=RIGHT$(AA$,I)
  269. 2690 GOTO2100
  270. 2700 :
  271. 2710 REM ------------------------------
  272. 2720 REM  LAENGE DER FORMATZEILE BEST.
  273. 2730 FL=1
  274. 2740 TAB=0:REM ERSTEN TABULATOR FINDEN
  275. 2750 AA$=AA$+A$
  276. 2760 GET#1,A$:IFA$=""THENA$=CHR$(0)
  277. 2770 AA$=AA$+A$:FL=FL+1
  278. 2780 IFTAB=0ANDASC(A$)=219THENFL=0:TAB=1
  279. 2790 IFASC(A$)=220THEN2270:REM RETURN
  280. 2800 GOTO2760
  281. 2810 :
  282. 2820 REM ------------------------------
  283. 2830 REM  FARBE BESTIMMEN
  284. 2840 A=ASC(A$)
  285. 2850 IFD=1THEN2870
  286. 2860 IFD=2THENA=A-240
  287. 2870 IFA=0THENCOL$="SCHWARZ"
  288. 2880 IFA=1THENCOL$="WEISS"
  289. 2890 IFA=2THENCOL$="ROT"
  290. 2900 IFA=3THENCOL$="TUERKIS"
  291. 2910 IFA=4THENCOL$="VIOLETT"
  292. 2920 IFA=5THENCOL$="GRUEN"
  293. 2930 IFA=6THENCOL$="BLAU"
  294. 2940 IFA=7THENCOL$="GELB"
  295. 2950 IFA=8THENCOL$="ORANGE"
  296. 2960 IFA=9THENCOL$="BRAUN"
  297. 2970 IFA=10THENCOL$="HELLROT"
  298. 2980 IFA=11THENCOL$="GRAU 1"
  299. 2990 IFA=12THENCOL$="GRAU 2"
  300. 3000 IFA=13THENCOL$="HELLGRUEN"
  301. 3010 IFA=14THENCOL$="HELLBLAU"
  302. 3020 IFA=15THENCOL$="GRAU 3"
  303. 3030 IFA=16THENCOL$="SCHWARZ"
  304. 3040 IFA=17THENCOL$="WEISS"
  305. 3050 IFA=18THENCOL$="ROT"
  306. 3060 IFA=35THENCOL$="TUERKIS"
  307. 3070 IFA=36THENCOL$="VIOLETT"
  308. 3080 IFA=53THENCOL$="GRUEN"
  309. 3090 RETURN
  310. 3100 :
  311. 3110 REM ------------------------------
  312. 3120 REM  FEHLERBEHANDLUNG
  313. 3130 PRINT"   FEHLER !!!"
  314. 3140 PRINT"  DIES IST KEIN DURCH VIZAWRITE            ERSTELLTER TEXT"
  315. 3150 GOTO2410
  316. 3160 :
  317. 3170 REM ------------------------------
  318. 3180 REM  FEHLERKANAL LESEN
  319. 3190 INPUT#15,FW,FX$,FY,FZ
  320. 3200 IFFW=0THENRETURN
  321. 3210 PRINT"  FEHLER: ";FW;FX$
  322. 3220 GOTO2410
  323.